/**********************************************************************************************************
** 程序文件：	Time.h
** 程序版本：	1.0
** 工作环境: 	RealView MDK-ARM 5.11
** 程序作者：	盖书永
** 修改日期：	2018年4月24日
** 文件功能：	时间日历的功能函数
**********************************************************************************************************/
#ifndef  __Time_H__
#define  __Time_H__

typedef struct {
	int	year;	
	int	month;
	int day;
	int hour;	
	int minute;	
	int second;
	int weekday;	// 0：星期一 1：星期二 2：星期三 3：星期四 4：星期五 5：星期六 6:星期日
}Time_t;

extern unsigned int SysStartTime;	//记录系统启动时的时间和日期

/**********************************************************************************************************
* 函数名称:	 void GetCurrentTime(Time_t *time)
* 函数说明： 获取当前时间日期
* 输入参数： 时间日期结构体指针
* 返回参数： 无
**********************************************************************************************************/
void GetCurrentTime(Time_t *time);

/**********************************************************************************************************
* 函数名称:	 int GetCurrentTimeString(const char *format, char *string)
* 函数说明： 获取当前时间日期，以字符串形式输出
* 输入参数： 格式化方式（例如："%u-%02u-%02u %02u:%02u:%02u"），输出字符串缓存指针（至少20字节）
* 返回参数： 输出字符串长度
**********************************************************************************************************/
int GetCurrentTimeString(const char *format, char *string);

/**********************************************************************************************************
* 函数名称:	 unsigned int GetCurrentTimestamp(void)
* 函数说明： 获取当前时间戳，从1970年开始到现在的总秒数
* 输入参数： 无
* 返回参数： 时间戳
**********************************************************************************************************/
unsigned int GetCurrentTimestamp(void);

/**********************************************************************************************************
* 函数名称:	 void TimestampToTime(unsigned int Timestamp, Time_t *time)
* 函数说明： Unix时间戳转时间日期
* 输入参数： 从1970年开始到现在的总秒数 ， 时间日期结构体指针
* 返回参数： 无
**********************************************************************************************************/
void TimestampToTime(unsigned int Timestamp, Time_t *time);

/**********************************************************************************************************
* 函数名称:	 unsigned int TimeToTimestamp(Time_t *time)
* 函数说明： 时间日期转时间戳
* 输入参数： 时间日期结构体指针
* 返回参数： 从1970年开始到现在的总秒数
**********************************************************************************************************/
unsigned int TimeToTimestamp(Time_t *time);


#endif


